/** layuiAdmin.pro-v1.2.1 LPPL License By http://www.layui.com/admin/ */
;
layui.extend({
    setter: "config",
    admin: "lib/admin",
    view: "lib/view"
}).define(["setter", "admin"],
        function (e) {
            var a = layui.setter,
                    n = layui.element,
                    i = layui.admin,
                    t = i.tabsPage,
                    l = layui.view,
                    o = function () {
                        var e = layui.router(),
                                r = e.path,
                                y = i.correctRouter(e.path.join("/"));
                        r.length || (r = [""]),
                                "" === r[r.length - 1] && (r[r.length - 1] = a.entry);
                        var h = function (e) {
                            o.haveInit && d(".layui-layer").each(function () {
                                var e = d(this),
                                        a = e.attr("times");
                                e.hasClass("layui-layim") || layer.close(a)
                            }),
                                    o.haveInit = !0,
                                    d(s).scrollTop(0),
                                    delete t.type
                        };
                        return "tab" === t.type && ("/" !== y || "/" === y && i.tabsBody().html()) ? (i.tabsBodyChange(t.index), h(t.type)) : (l().render(r.join("/")).then(function (l) {
                            var o, r = d("#LAY_app_tabsheader>li");
                            r.each(function (e) {
                                var a = d(this),
                                        n = a.attr("lay-id");
                                n === y && (o = !0, t.index = e)
                            }),
                                    a.pageTabs && "/" !== y && (o || (d(s).append('<div class="layadmin-tabsbody-item layui-show"></div>'), t.index = r.length, n.tabAdd(u, {
                                        title: "<span>" + (l.title || "新标签页") + "</span>",
                                        id: y,
                                        attr : e.href
                                    }))),
                                    this.container = i.tabsBody(t.index),
                                    a.pageTabs || this.container.scrollTop(0),
                                    n.tabChange(u, y),
                                    i.tabsBodyChange(t.index)
                        }).done(function () {
                            // layui.use("common", layui.cache.callback.common),
                            c.on("resize", layui.data.resize),
                                    n.render("breadcrumb", "breadcrumb"),
                                    i.tabsBody(t.index).on("scroll",
                                    function () {
                                        var e = d(this),
                                                a = d(".layui-laydate"),
                                                n = d(".layui-layer")[0];
                                        a[0] && (a.each(function () {
                                            var e = d(this);
                                            e.hasClass("layui-laydate-static") || e.remove()
                                        }), e.find("input").blur()),
                                                n && layer.closeAll("tips")
                                    })
                        }), void h())
                    },
                    r = function (e) {
                        var n, t = layui.router(),
                                r = l(a.container),
                                s = i.correctRouter(t.path.join("/"));
                        if (layui.each(a.indPage,
                                function (e, a) {
                                    if (s === a)
                                        return n = !0
                                }), layui.config({
                            base: a.base + "controller/"
                        }), n || "/user/login" === s)
                            r.render(t.path.join("/")).done(function () {
                                i.pageType = "alone"
                            });
                        else {
                            if (a.interceptor) {
                                var u = layui.data(a.tableName);
                                if (!u[a.request.tokenName])
                                    return location.hash = "/user/login/redirect=" + encodeURIComponent(s)
                            }
                            "console" === i.pageType ? o() : r.render("layout").done(function () {
                                o(),
                                        layui.element.render(),
                                        i.screen() < 2 && i.sideFlexible(),
                                        i.pageType = "console"
                            })
                        }
                    },
                    s = "#LAY_app_body",
                    u = "layadmin-layout-tabs",
                    d = layui.$,
                    c = d(window);
            layui.link(a.base + "style/admin.css?v=" + (i.v + "-1"),
                    function () {
                        r()
                    },
                    "layuiAdmin"),
                    window.onhashchange = function () {
                        r(),
                                layui.event.call(this, a.MOD_NAME, "hash({*})", layui.router())
                    },
                    layui.each(a.extend,
                            function (e, n) {
                                var i = {};
                                i[n] = "{/}" + a.base + "lib/extend/" + n,
                                        layui.extend(i)
                            }),
                    e("index", {
                        render: o
                    })
        });